package top.hcode.hoj.service.signup;

import top.hcode.hoj.common.exception.StatusFailException;
import top.hcode.hoj.common.exception.StatusForbiddenException;
import top.hcode.hoj.common.result.CommonResult;
import top.hcode.hoj.pojo.dto.TeamInfoDTO;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author 76004
 * @apiNote 报名服务
 * @date 2023/4/7 19:56
 */
public interface SignUpService {
    public CommonResult<Void> signUp(TeamInfoDTO teamInfoDto) throws StatusFailException, StatusForbiddenException;

    public void generateCsvByContestId(Long cid, Long choose, HttpServletResponse response) throws IOException, StatusFailException, StatusForbiddenException;

    public CommonResult<Void> applyForUpdateTeamInfo(TeamInfoDTO teamInfoDto) throws StatusFailException, StatusForbiddenException;

    public CommonResult<Void> checkApply(Long tid,Boolean isOk,Long cid) throws StatusFailException, StatusForbiddenException;

    public CommonResult<Void> withdrawApply(Long tid) throws StatusForbiddenException, StatusFailException;


}
